import Actions from './actions';
import {CustomerBaseInfoResponse} from 'api/CustomerBaseController';
export interface IMainReducer {
  money: number;
  isReady: boolean;
  isLoading?: boolean;
  isLogin?: boolean;
  visible?: boolean;
  // 是否蓝晶会员标志 false：否，true：是
  isAquamarineMember: boolean;
  // 是否赤晶会员标志 false：否，true：是
  isCrystalMember: boolean;
  // 新人首次 同意 不同意
  showAgree?: boolean;
  // 新人首页 会员 非会员
  showNewcomer?: boolean;
  // 乐园导航
  showNaviModal?: boolean;
  // 导航只显示金币雨
  onlyShowCoinRain?: boolean;
  // 金币语导航提示语
  coinRainNavigationText?: string;
  // 抽盲盒导航提示语
  choumangheNavigationText?: string;
  // 魔力赏导航提示语
  molishangNavigationText?: string;
  // 抓娃娃导航提示语
  zhuawawaNavigationText?: string;
  // 抽抽卡导航提示语
  chouchoukaNavigationText?: string;
  // 刮刮乐导航提示语
  scratchNavigationText?: string;
  // 设置
  showSettingModal?: boolean;
  // 会员每日登录
  showMemberLoginDailyModal?: boolean;
  dailyGetCoin?:boolean;
  // 任务中心
  showTaskModal?: boolean;
  // 月度排行
  showRankModal?: boolean;
  // 排行榜
  rankData?: [];
  // 奖品
  leaderboardRewards?:[];
  // 任务
  taskList?:[];
  task: any; // 任务相关
  // 开通会员弹窗
  showOpenMemberModal?: boolean;
  // 道具魔
  moPropList:any;
  showMoModal:boolean;
  // 道具欧
  ouPropList:any;
  showOuModal:boolean;
  moouTitle:string;
  moouContent:string;
  response: {
    [name: string]: any;
  };
  status: {
    [name: string]: any;
  };
  userInfo: any;
  // 点击底部乐园导航按钮
  bottomClickNavigation?:boolean;
  orderCount: {
    waitPay: number;
    waitDeliver: number;
    waitReceiving: number;
    waitEvaluate: number;
    refund: number;
  };
  customer: CustomerBaseInfoResponse;
}

export type ActionType = ReturnType<typeof Actions>;
export type IAllReducerProps = {
  main: IMainReducer;

  [name: string]: any;
};

//默认是全部的属性,可以自定义
export type IProps = IAllReducerProps & ActionType;

export type IOrderProps = {};
export type IOrderState = {
  channel: string;
  secret: string;
  sign: string;
  phone: string;
  url: string;
  isShow: boolean;
};

export type IToolsBoxProps = {};
export type IToolsBoxState = {};

export type ICenterBoxProps = {};
export type ICenterBoxState = {};

//create by moon https://github.com/creasy2010/moon
